package cn.source.zk.service;

import cn.source.zk.domain.dto.SettingQueryFieldsDTO;
import cn.source.zk.domain.dto.TableDefinitionDTO;
import cn.source.zk.domain.entity.ZkSettingQueryFields;
import cn.source.zk.domain.entity.ZkTableDefinition;
import cn.source.zk.domain.vo.TableDefinitionVO;
import cn.source.zk.domain.vo.ZkSettingQueryFieldsVO;

import java.util.List;

/**
 * @author shiqi
 * @create 2025-04-18 14:19
 */
public interface ZkSettingQueryFieldsService {

    /**
     * 查询数据列表
     * @param dto
     * @return
     */
    List<ZkSettingQueryFieldsVO> listPage(SettingQueryFieldsDTO dto);

    /**
     * 新增查询字段
     * @param zkSettingQueryFields
     */
    void addSettingQueryFields(ZkSettingQueryFields zkSettingQueryFields);



    /**
     * 查询表标识分页列表
     * @param dto
     * @return
     */
    List<TableDefinitionVO> tableDefinitionListPage(TableDefinitionDTO dto);


    /**
     * 新增表标识
     * @param tableDefinition
     */
    void addTableDefinition(ZkTableDefinition tableDefinition);

    /**
     * 修改表标识
     * @param tableDefinition
     */
    void editTableDefinition(ZkTableDefinition tableDefinition);

    /**
     * 删除字段查询
     * @param id
     */
    void deleteSettingQueryFields(Integer id);

    /**
     * 删除表标识
     * @param id
     */
    void deleteTableDefinition(Integer id);


    /**
     * 编辑表标识
     * @param zkSettingQueryFields
     */
    void editSettingQueryFields(ZkSettingQueryFields zkSettingQueryFields);


    /**
     * 根据id查询字段查询
     * @param id
     * @return
     */
    ZkSettingQueryFields getSettingQueryFieldsById(Integer id);

    /**
     * 根据id查询表标识
     * @param id
     * @return
     */
    ZkTableDefinition getTableDefinitionById(Integer id);

    String importUser(List<ZkSettingQueryFields> userList, boolean updateSupport, String operName);

    /**
     * 获取谐波电流表头数据
     * @return
     */
    List<ZkSettingQueryFieldsVO> getIhrData(SettingQueryFieldsDTO dto);


}
